МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
Національний університет «Львівська політехніка»
Кафедра «Телекомунікації»
ЛОГІЧНІ І ПОБІТОВІ ОПЕРАЦІЇ ТА ВИРАЗИ МОВИ С
Методичні вказівки до лабораторної роботи з дисципліни
«Інформатика телекомунікаційних систем та мереж, ч.IІ»
для студентів базового напряму 6.0924
«Телекомунікації»
Затверджено
на засіданні кафедри «Телекомунікації»
Національного університету
«Львівська політехніка»,
протокол №___ від______2009 р.
Львів 2009
МЕТА РОБОТИ: дослідити властивості операцій порівняння, логічних і побітових мови програмування С.
Попередні відомості.
Операції порівняння – бінарні, причому обидва операнди повинні бути арифметичного типу, або вказівниками. Результат цілочисельний: 0 (хибність) або 1 (істинність). Тип результату int.
вираз < вираз
вираз > вираз
вираз <= вираз
вираз >= вираз
Операції рівності і нерівності відносять до цієї ж групи. Важливо правильно витримувати синтаксис знаку «логічне дорівнює» - ця операція не виконує присвоювання:
вираз == вираз
вираз != вираз
Результатом цих операцій є 0, якщо задане відношення хибне, і 1, якщо істинне. Тип результату int. Ці операції мають нижчий пріоритет, ніж операції попередньої групи, наприклад, у виразі a < b = = c < d спочатку здійснюються порівняння a < b та c < d, результати кожного з них мають значення 0 або 1, після чого операція = = дає результат 0 або 1.
Для логічних операцій характерне те, що і операнди, і результат мають цілий тип і трактуються як логічні (“Так” – 1, “Ні” – 0).
Операція логічне І виконується згідно таблиці істинності:
X
Y
X&&Y
0
0
0
0
1
0
1
0
0
1
1
1
вираз && вираз
Ця операція повертає 1, якщо обидва операнди ненульові, та 0 в противному випадку. Операція гарантує обчислення зліва направо, а якщо лівий операнд є 0, правий не обчислюється. Операнди не повинні бути обов'язково однакового типу, але повинні мати один з основних типів. Результат завжди типу int.
Опреація логічне АБО виконується згідно таблиці істинності:
X
Y
X||Y
0
0
0
0
1
1
1
0
1
1
1
1
вираз || вираз
Ця операція повертає 1, якщо хоча би один з операндів ненульовий, і 0 в противному випадку. Операція гарантує обчислення зліва направо, а якщо перший операнд не є 0, другий операнд не обчислюється. Тип int.
Умовна тримісна операція (тернарна).
На відміну від унарних і бінарних операцій умовна тернарна операція використовується з трьома операндами. В зображенні умовної операції використовуються два символи ‘?’ i ‘:’ і три вирази:
вираз1 ? вираз2 : вираз3.
Першим обчислюється виразу1. Якщо воно істинне, тобто не дорівнює нулю, то обчислюється значення виразу2, яке стає результатом. Якщо при обчисленні виразу 1 отримується 0 (нуль), то в якості результату приймається значення виразу3.
Приклад:
x<0? – x : x;
Вираз повертає абсолютну величину змінної х.
Коли виникає необхідність роботи з величинами, що записані побітово, в частинах машинного слова, застосовуються «побітові операції». До таких відносяться:
Операції зсуву (визначені тільки для цілочисельних операндів):
операнд лівий операція зсуву операнд правий
<< – зсув ліворуч бітового представлення лівого цілочисельного операнда на кількість розрядів, що дорівнює значенню правого цілочисельного операнда.
>> – зсув праворуч бітового представлення лівого цілочисельного операнда на кількість розрядів, що дорівнює значенню правого цілочисельного операнда.
2. Доповнення (побітове НЕ):
~ операнд
Це унарна операція, яка доповнює значення біту кожного розряду операнду до 1. Операнд повинен мати тип int.
3. Побітове І:
вираз & вираз
Результатом є побітова функція І операндів. Результат обчислюється побітово – для кожного розряду операндів згідно таблиці істинності операції логічне І і записується у відповідний розряд. Операція застосовується тільки до операндів типу int.
X
Y
X^Y
0
0
0
0
1
1
1
0
1
1
1
0
4. Виключене побітове АБО (XOR):
вираз ^ вираз
Результатом є побітова ...